home *** CD-ROM | disk | FTP | other *** search
/ PC World Interactive 7 / PC World Interactive 7.iso / program / qbprog.EXE / FONT2QLB.BAS < prev    next >
BASIC Source File  |  1996-01-21  |  3KB  |  86 lines

  1. '===================== Açìklamalar =================================
  2. 'Bu program font dosyasìnì QLB hale getirir.
  3. 'LIB.EXE, LINK.EXE, TASM.EXE isimli programlar path içinde varsayìlìr
  4.  
  5. '====================== Program =====================================
  6. DECLARE SUB DosyaYaz (Enter$)
  7. DECLARE SUB Hata (A$)
  8. Kitap$ = "c:\basic\qbxqlb"           'versiyon 4.5 için ilgili kütüphaneyi
  9.                                      'bu deºiƒkene atayìnìz..
  10. Kitap$ = Kitap$ + ";"
  11. SCREEN 2: SCREEN 0: COLOR 7, 1: CLS
  12. Enter$ = CHR$(13) + CHR$(10)
  13. Oku$ = COMMAND$
  14. IF Oku$ = "" THEN
  15.       Mesaj$ = "Olb hale getirilecek Font dosyasì belirtilmedi !!"
  16.       Mesaj$ = Mesaj$ + Enter$ + "Kullanìm formatì ≈FONT2OLB FONT.FNT≈"
  17.       Hata Mesaj$
  18. END IF
  19. IF INSTR(Oku$, ".") = 0 THEN Oku$ = Oku$ + ".FNT"
  20. V = INSTR(Oku$, "."):
  21. Yaz$ = LEFT$(Oku$, V) + "ASM"
  22. Dosya$ = LEFT$(Oku$, V - 1)
  23.  
  24. OPEN Oku$ FOR BINARY AS #1
  25.    IF LOF(1) = 0 THEN CLOSE #1: KILL Oku$: Hata (Oku$ + " Bulunamadì !!")
  26. OPEN Yaz$ FOR BINARY AS #2
  27.    IF LOF(2) <> 0 THEN Hata (Yaz$ + " isminde bir dosya var !!")
  28.  
  29. '======================= Asm dosya üretimi ============================
  30. DosyaYaz (Enter$)
  31. '======================= Asm'nin derlenmesi ============================
  32. CLS
  33. PRINT "Bekleyin..."
  34.   A$ = "Tasm " + Dosya$ + "/m": SHELL A$: CLOSE #2: KILL Yaz$
  35.   A$ = "Del " + Dosya$ + ".lib": SHELL A$
  36.   A$ = "Lib " + Dosya$ + " +" + Dosya$ + ",;": SHELL A$
  37.   A$ = "Link/q " + Dosya$ + ".lib," + Dosya$ + ".qlb,," + Kitap$: SHELL A$
  38. CLS
  39. PRINT Dosya$; ".QLB Üretildi...Basic'e QBX/L "; Dosya$; " ƒeklinde baƒkayìnìz.."
  40. END
  41.  
  42. SUB DosyaYaz (Enter$)
  43.  
  44.      A$ = ";Yapìm: Gürol DEMÿR, 1996" + Enter$: PUT #2, , A$
  45.      A$ = "jumps" + Enter$: PUT #2, , A$
  46.      A$ = ".model medium" + Enter$: PUT #2, , A$
  47.      A$ = ".code" + Enter$: PUT #2, , A$
  48.      A$ = ";=====================================================================" + Enter$: PUT #2, , A$
  49.      A$ = ";DECLARE SUB FontGrafik()" + Enter$: PUT #2, , A$
  50.      A$ = "Public FontGrafik" + Enter$: PUT #2, , A$
  51.      A$ = "FontGrafik Proc far" + Enter$: PUT #2, , A$
  52.      A$ = "     Push      ax bx cx dx es bp" + Enter$: PUT #2, , A$
  53.      A$ = "     Lea bp, FontData" + Enter$: PUT #2, , A$
  54.      A$ = "     Mov bx, 0" + Enter$: PUT #2, , A$
  55.      A$ = "     Mov dx, 14" + Enter$: PUT #2, , A$
  56.      A$ = "     Push cs" + Enter$: PUT #2, , A$
  57.      A$ = "     Pop es" + Enter$: PUT #2, , A$
  58.      A$ = "     Mov cx, 16" + Enter$: PUT #2, , A$
  59.      A$ = "     Mov       ax, 1121h" + Enter$: PUT #2, , A$
  60.      A$ = "     Int       10h" + Enter$: PUT #2, , A$
  61.      A$ = "     Pop       bp es dx cx bx ax" + Enter$: PUT #2, , A$
  62.      A$ = "     Retf" + Enter$: PUT #2, , A$
  63.      A$ = "ENDP FontGrafik" + Enter$: PUT #2, , A$
  64.      A$ = ";=====================================================================" + Enter$: PUT #2, , A$
  65.      A$ = "FontData:": PUT #2, , A$
  66.  
  67.      I = 19
  68.      CLS
  69.      FOR y = 1 TO LOF(1)
  70.        LOCATE 1, 1: PRINT "Yapìlìyor %"; y * 100 \ LOF(1)
  71.        IF I = 19 THEN B$ = Enter$ + "Db ": PUT #2, , B$: I = 0
  72.        I = I + 1: A$ = " ": GET #1, , A$
  73.        A$ = LTRIM$(STR$(ASC(A$))): PUT #2, , A$
  74.        IF LOC(1) = LOF(1) THEN EXIT FOR
  75.        IF I < 19 THEN C$ = ",": PUT #2, , C$
  76.      NEXT
  77.      A$ = Enter$ + ";=====================================================================" + Enter$: PUT #2, , A$
  78.  
  79.      A$ = "End" + Enter$: PUT #2, , A$
  80. END SUB
  81.  
  82. SUB Hata (A$)
  83.     PRINT A$: END
  84. END SUB
  85.  
  86.